import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';

import {AppComponent} from './app.component';
import {LoginComponent} from './components/login/login/login.component';
import {ContainerComponent} from './components/container/container.component';
import {HomeComponent} from './components/home/home.component';
import {AppRoutingModule} from './app.routing';
import {LoginAutherGuard} from './login-auther/login-auther.guard';
import {NavService} from './services/nav/nav.service';
import {PageBodyDirective} from './directives/page-body.directive';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {OrgMgmtComponent} from './components/org-mgmt/org-mgmt.component';
import {ToDoComponent} from './components/to-do/to-do.component';
import {ModuleLoaderDirective} from './directives/module-loader.directive';
import {LoginAutherService} from './login-auther/login-auther.service';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {RegisterComponent} from './components/login/register/register.component';
import {HttpClientModule} from '@angular/common/http';
import {UserService} from './services/user/user.service';
import {NewsHomeComponent} from './components/news/news-home/news-home.component';
import {NewsContentComponent} from './components/news/news-content/news-content.component';
import {FooterComponent} from './components/footer/footer.component';
import {NavBarComponent} from './components/nav-bar/nav-bar.component';
import {HeaderComponent} from './components/header/header.component';
import {WorkDynamicsComponent} from './components/news/work-dynamics/work-dynamics.component';
import {WorkDynamicsEditComponent} from './components/news/work-dynamics-edit/work-dynamics-edit.component';
import {ManagementHomeComponent} from './components/management/management-home/management-home.component';
import {ManagementContentComponent} from './components/management/management-content/management-content.component';
import {WorkStatusService} from './services/news/WorkStatus/work-status.service';
import { WorkReportComponent } from './components/news/work-report/work-report.component';
import { AdviceHomeComponent } from './components/advice/advice-home/advice-home.component';
import { AdviceContentComponent } from './components/advice/advice-content/advice-content.component';
import { AffairsHomeComponent } from './components/affairs/affairs-home/affairs-home.component';
import { AffairsContentComponent } from './components/affairs/affairs-content/affairs-content.component';
import { CapitalHomeComponent } from './components/capital/capital-home/capital-home.component';
import { CapitalContentComponent } from './components/capital/capital-content/capital-content.component';
import { CasesHomeComponent } from './components/case/cases-home/cases-home.component';
import { CasesContentComponent } from './components/case/cases-content/cases-content.component';
import { ComplaintHomeComponent } from './components/complaint/complaint-home/complaint-home.component';
import { ComplaintContentComponent } from './components/complaint/complaint-content/complaint-content.component';
import { DirectoriesHomeComponent } from './components/directories/directories-home/directories-home.component';
import { DirectoriesContentComponent } from './components/directories/directories-content/directories-content.component';
import { DownloadHomeComponent } from './components/download/download-home/download-home.component';
import { DownloadContentComponent } from './components/download/download-content/download-content.component';
import { LogHomeComponent } from './components/log/log-home/log-home.component';
import { LogContentComponent } from './components/log/log-content/log-content.component';
import { PolicyHomeComponent } from './components/policy/policy-home/policy-home.component';
import { PolicyContentComponent } from './components/policy/policy-content/policy-content.component';
import { QuestionHomeComponent } from './components/question/question-home/question-home.component';
import { QuestionContentComponent } from './components/question/question-content/question-content.component';

@NgModule({
  declarations: [
    AppComponent,
    LoginComponent,
    ContainerComponent,
    HomeComponent,
    PageBodyDirective,
    OrgMgmtComponent,
    ToDoComponent,
    ModuleLoaderDirective,
    RegisterComponent,
    NewsHomeComponent,
    NewsContentComponent,
    FooterComponent,
    NavBarComponent,
    HeaderComponent,
    WorkDynamicsComponent,
    WorkDynamicsEditComponent,
    ManagementHomeComponent,
    ManagementContentComponent,
    WorkReportComponent,
    AdviceHomeComponent,
    AdviceContentComponent,
    AffairsHomeComponent,
    AffairsContentComponent,
    CapitalHomeComponent,
    CapitalContentComponent,
    CasesHomeComponent,
    CasesContentComponent,
    ComplaintHomeComponent,
    ComplaintContentComponent,
    DirectoriesHomeComponent,
    DirectoriesContentComponent,
    DownloadHomeComponent,
    DownloadContentComponent,
    LogHomeComponent,
    LogContentComponent,
    PolicyHomeComponent,
    PolicyContentComponent,
    QuestionHomeComponent,
    QuestionContentComponent,
  ],
  imports: [
    HttpClientModule,
    BrowserAnimationsModule,
    BrowserModule,
    FormsModule,
    AppRoutingModule,
    ReactiveFormsModule
  ],
  providers: [
    NavService,
    LoginAutherGuard,
    LoginAutherService,
    UserService,
    WorkStatusService
  ],
  entryComponents: [
    ToDoComponent,
    LoginComponent
  ],
  bootstrap: [AppComponent]
})
export class AppModule {
}
